iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 23
0

在讀到函式部分的語法時,就已經被有點變化的函式給弄的天旋地轉,遇到 closure 時,才覺得這也太過精簡了吧!!都要只剩下標點符號了

###function V.S. closure
function 跟 closure 的差別在於:去除掉func 以及函式名稱,將參數以及回傳型別搬到 {} 裡面,中間加上 in。大概就是無名的函式

先以最簡單的無任何參數的函式為例:

func printMyWords() {
	print(“Hello World”)
}
printMyWords()

將它改成closure就會像這樣:

let printMyWords = { () -> () in
	print(“Hello World”)
}
printMyWords()

去除了func以及名稱,closure需要指派給變數或常數,以此為例,closure在這裡被指派給了常數printMyWords。

而因為沒有參數也沒有回傳值,又可以省略成以下:

let printMyWords = {
	print(“Hello World”)
}
printMyWords()

參考資料:The Swift Programming Language、Swift 起步走、彼得潘的 Swift 程式設計入門


上一篇
Day 22 - Swift 之 func 語法
下一篇
Day 24 - Swift 之 enum 語法
系列文
Swift 新手上路之30天復刻版型30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言